#######################################################
##  git clone git@gitee.com:jadesouth/wn-config.git ~/.config/wn-config
##  ln -s ~/.config/wn-config/tmux.conf ~/.tmux.conf
##  tmux; <prefix> + r  应用加载配置文件
#######################################################


# 开始鼠标支持，可支持鼠标滚动，哪怕是分屏pane也支持
set -g mouse on
setw -g mouse on
# <prefix> + r重新加载tmux配置，配置文件路径~/.tmux.conf
# 注意：会有部分配置项重载也不生效，必须重启tmux才能生效
bind r source-file ~/.tmux.conf\; display "Config reloaded...."
# 历史命令记录数量
set -g history-limit 65535
# 设置远程<prefix>为 Ctrl+s 组合键，在嵌套tmux有用
#bind-key -n C-s send-prefix

# tmux中翻页复制时,用vim的快捷键
setw -g mode-keys vi #(暂时不知道具体啥作用)

# 允许块状复制，这是个很有用的功能，比如，我们希望复制tmux里的vim文字到系统粘贴板上
# 使用方法：
# 1. <prefix>+[进入选择模式
# 2. Ctrl-v 进入块状选择
# 接下来即可像vim一样进行块状选择，按Enter键确认拷贝
bind-key -Tcopy-mode-vi 'C-v' send -X begin-selection \; send -X rectangle-toggle
bind-key -Tcopy-mode-vi 'C-q' send -X begin-selection \; send -X rectangle-toggle

set -g base-index 1         # 设置window编号从1开始
set -g pane-base-index 1    # 设置pane编号从1开始

# 在当前目录下打开新的终端,习惯打开新终端仍停留在当前目录
bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"


# pane操作快捷键配置 ----------------------------------------
# Vim风格选择pane,通过<prefix>(前缀键) + hjkl进行左上下右选择pane,类似vim操作
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# 通过<prefix> + Ctrl + hjkl进行resize pane
bind -r ^k resizep -U 2 # upward (<prefix> Ctrl+k)
bind -r ^j resizep -D 2 # downward (<prefix> Ctrl+j)
bind -r ^h resizep -L 4 # to the left (<prefix> Ctrl+h)
bind -r ^l resizep -R 4 # to the right (<prefix> Ctrl+l)

# 颜色设置 ---------------------------
# 支持256色
set -g default-terminal "screen-256color"
# 设置支持真彩模式
set-option -ga terminal-overrides ",xterm-256color:Tc"

# pane 边框颜色
set-option -g pane-border-style fg=colour229 #fg=base02
set-option -g pane-active-border-style fg=colour121 #fg=base01
# pane 编号颜色
set-option -g display-panes-active-colour colour33 
set-option -g display-panes-colour colour166 
# 时钟颜色
set-window-option -g clock-mode-colour colour219

# Bar设置 -------------------
set -g status-interval 1                                                                            # 状态栏实时刷新时间
set -g status-justify left                                                                          # 状态栏列表左对齐(centre,left,right)
set -g status-bg black                                                                              # 设置背景色为黑色
set -g status-fg blue                                                                               # 设置前景色为蓝色
set -g status-left "#[fg=white]#[bg=color111] 🏻#S "                                                # 左侧状态栏格式,#S为当前session名称#H为用户主机名称
set -g status-left-length 20                                                                        # 设置左边显示长度为20
set -g status-right "#[fg=colour15] 🌷%H:%M:%S #[fg=colour81]%W/53,%a#[fg=colour115]%Y-%m-%d ⛳"    # 右侧状态栏格式
set -g status-right-length 120                                                                      # 设置右边显示长度为120
set -g status-right-style bg=colour55                                                               # 设置右边显示背景色
set -g message-style "bg=red, fg=#91A8BA"                                                           # 指定消息通知的前景、后景色
set -wg monitor-activity on                                                                         # 非当前窗口有内容更新时在状态栏通知
set -wg window-status-format "#[fg=colour123] 🌸#I:#W "                                             # 状态栏window名称格式(#I:序号,#w:窗口名称,#F:window活动状态符)
set -wg window-status-current-format "#[fg=colour128]#[bg=colour222] 🌺#I:#W "                      # 状态栏当前活动window的名称风格
set -wg window-status-separator ""                                                                  # 状态栏窗口名称之间的间隔,默认为一个空格" ",所以设置个空字符串置空下



# 下面配置不知道啥作用，先不开启，只做记录
#set -s focus-events on
#set-window-option -g automatic-rename on
#set -g display-time 3000
#set -g escape-time 0
# 自动重命名window( )
#set-window-option -g automatic-rename

